// 外部工具
export function getCurrentWeather({ location, unit = "celsius" }) {
  const weather_info = {
    location, // 查询的城市名称
    temperature: "22",
    unit, // 温度的单位（"celsius" 或 "fahrenheit"）
    forecast: ["晴朗 ☀️", "微风 🌬️"], // 天气简单的描述
  };

  return JSON.stringify(weather_info);
}

// 工具：获取当前时间
export function getCurrentTime({ format = "locale" }) {
  switch (format) {
    case "iso":
      return new Date().toISOString(); // ISO 格式：2025-06-24T09:00:00.000Z

    case "locale":
      return new Date().toLocaleString(); // 本地格式：2025/6/24 17:00:00

    case "string":
      return new Date().toString(); // 英文字符串格式：Tue Jun 24 2025 17:00:00 GMT+0800

    default:
      return "不支持的 format 类型，请传入 iso / locale / string";
  }
}

// 工具箱
export const tools = [
  {
    type: "function",
    function: {
      name: "getCurrentWeather",
      description: "获取指定城市当前的天气情况",
      parameters: {
        type: "object",
        properties: {
          location: {
            type: "string",
            description: "城市名称，例如：北京、上海、成都",
          },
          unit: {
            type: "string",
            enum: ["celsius", "fahrenheit"],
            description: "温度单位，可选：摄氏度或者华氏度",
          },
        },
        required: ["location"],
      },
    },
  },
  {
    type: "function",
    function: {
      name: "getCurrentTime",
      description: "获取当前时间（可选格式）",
      parameters: {
        type: "object",
        properties: {
          format: {
            type: "string",
            enum: ["iso", "locale", "string"],
          },
        },
        required: ["format"],
      },
    },
  },
];
